package cn.lock;

/**
 * 类简介: 分配器
 *
 * @Author: ShangGuan
 * @Time: 2024/05/30
 **/
public interface Allocator {


    /**
     * 应用
     * 方法简介: 申请资源
     * 业务背景:
     *
     * @param form 来自
     * @param to   去向
     * @return boolean
     * @throws NoSuchMethodException 没有这样方法例外
     **/
    boolean applyOf(Object form, Object to) throws NoSuchMethodException;


    /**
     * 应用
     * 方法简介: 申请资源
     * 业务背景:
     *
     * @param form 来自
     * @param to   去向
     * @throws NoSuchMethodException 没有这样方法例外
     **/
    void apply(Object form, Object to) throws NoSuchMethodException;

    /**
     * 释放
     * 方法简介:
     * 业务背景:
     *
     * @param form 来自
     * @param to   去向
     **/
    void release(Object form, Object to);


}
